// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package org.achartengine.chart;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import java.util.ArrayList;
import java.util.List;
import org.achartengine.model.MultipleCategorySeries;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;
// Referenced classes of package org.achartengine.chart:
// RoundChart
public class DoughnutChart extends RoundChart
{
private MultipleCategorySeries a;
private int b;
public DoughnutChart(MultipleCategorySeries multiplecategoryseries, DefaultRenderer defaultrenderer)
{
super(null, defaultrenderer);
a = multiplecategoryseries;
}
public void draw(Canvas canvas, int i, int j, int k, int l, Paint paint)
{
paint.setAntiAlias(mRenderer.isAntialiasing());
paint.setStyle(android.graphics.Paint.Style.FILL);
paint.setTextSize(mRenderer.getLabelsTextSize());
int i1 = getLegendSize(mRenderer, l / 5, 0.0F);
int j1 = i + k;
int k1 = a.getCategoriesCount();
String as[] = new String[k1];
for (int l1 = 0; l1 < k1; l1++)
{
as[l1] = a.getCategory(l1);
}
int i2;
int j2;
int k2;
double d;
double d1;
int l2;
float f;
float f1;
ArrayList arraylist;
int i3;
int j3;
if (mRenderer.isFitLegend())
{
i2 = drawLegend(canvas, mRenderer, as, i, j1, j, k, l, i1, paint, true);
} else
{
i2 = i1;
}
j2 = (j + l) - i2;
drawBackground(mRenderer, canvas, i, j, k, l, paint, false, 0);
b = 7;
k2 = Math.min(Math.abs(j1 - i), Math.abs(j2 - j));
d = 0.34999999999999998D * (double)mRenderer.getScale();
d1 = 0.20000000000000001D / (double)k1;
l2 = (int)(d * (double)k2);
if (mCenterX == 0x7fffffff)
{
mCenterX = (i + j1) / 2;
}
if (mCenterY == 0x7fffffff)
{
mCenterY = (j2 + j) / 2;
}
f = 0.9F * (float)l2;
f1 = 1.1F * (float)l2;
arraylist = new ArrayList();
i3 = 0;
j3 = l2;
while (i3 < k1)
{
int k3 = a.getItemCount(i3);
double d2 = 0.0D;
String as1[] = new String[k3];
for (int l3 = 0; l3 < k3; l3++)
{
d2 += a.getValues(i3)[l3];
as1[l3] = a.getTitles(i3)[l3];
}
float f2 = mRenderer.getStartAngle();
RectF rectf = new RectF(mCenterX - j3, mCenterY - j3, j3 + mCenterX, j3 + mCenterY);
for (int i4 = 0; i4 < k3; i4++)
{
paint.setColor(mRenderer.getSeriesRendererAt(i4).getColor());
float f3 = (float)(360D * ((double)(float)a.getValues(i3)[i4] / d2));
canvas.drawArc(rectf, f2, f3, true, paint);
String s = a.getTitles(i3)[i4];
DefaultRenderer defaultrenderer = mRenderer;
int l4 = mCenterX;
int i5 = mCenterY;
int j5 = mRenderer.getLabelsColor();
drawLabel(canvas, s, defaultrenderer, arraylist, l4, i5, f, f1, f2, f3, i, j1, j5, paint, true, false);
f2 += f3;
}
int j4 = (int)((double)j3 - d1 * (double)k2);
f = (float)((double)f - (d1 * (double)k2 - 2D));
int k4;
if (mRenderer.getBackgroundColor() != 0)
{
paint.setColor(mRenderer.getBackgroundColor());
} else
{
paint.setColor(-1);
}
paint.setStyle(android.graphics.Paint.Style.FILL);
canvas.drawArc(new RectF(mCenterX - j4, mCenterY - j4, j4 + mCenterX, j4 + mCenterY), 0.0F, 360F, true, paint);
k4 = j4 - 1;
i3++;
j3 = k4;
}
arraylist.clear();
drawLegend(canvas, mRenderer, as, i, j1, j, k, l, i2, paint, false);
drawTitle(canvas, i, j, k, paint);
}
public void drawLegendShape(Canvas canvas, SimpleSeriesRenderer simpleseriesrenderer, float f, float f1, int i, Paint paint)
{
b = -1 + b;
canvas.drawCircle((10F + f) - (float)b, f1, b, paint);
}
public int getLegendShapeWidth(int i)
{
return 10;
}
}